package com.tiancheng.trade.settlement.service.settlement;

import com.tiancheng.trade.commom.core.data.PageInfo;
import com.tiancheng.trade.settlement.exception.BusinessException;
import com.tiancheng.trade.settlement.model.settlement.OrderSourceCost;
import com.tiancheng.trade.settlement.vo.settlement.api.GetOrderSourceCostVO;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

public interface IOrderSourceCostService {

    /**
     * orderSource 1酒店 3门票 4精品线路
     * 按时间查询场景收入成本报表
     *
     * @param orderSource
     * @return
     */
    PageInfo<OrderSourceCost> getOrderSourceCostList(GetOrderSourceCostVO orderSource) throws BusinessException;

    /**
     * orderSource 1酒店 3门票 4精品线路
     * 按时间查询场景收入成本报表
     *
     * @param date
     * @return
     * @throws BusinessException
     */
    int updateOrderSourceCost(String date, String orderSource) throws BusinessException;

    /**
     * orderSource 1酒店 3门票 4精品线路
     * 按时间查询场景收入成本报表
     *
     * @param date
     * @return
     * @throws BusinessException
     */
    int addOrderSourceCost(String date, String orderSource) throws BusinessException;

    /**
     * 场景收入成本报表
     *
     * @param orderSourceCostVO
     * @param request
     * @param response
     * @throws IOException
     */
    void export(GetOrderSourceCostVO orderSourceCostVO, HttpServletRequest request, HttpServletResponse response) throws IOException;
}
